翻訳と辞書
Words near each other
・ Centre de Données astronomiques de Strasbourg
・ Centre de données astronomiques de Strasbourg
・ Centro Federal de Educação Tecnológica Celso Suckow da Fonseca
・ Cero (バンド)
・ CfA2グレートウォール
・ CfA赤方偏移サーベイ
・ Cg (プログラミング言語)
・ Cgs単位系
・ Cha-Cha-Cha チャンピオン
・ Chagas病
Chain of Responsibility パターン
・ Challengeラヂオ
・ Champion タップ!
・ Chance (久松史奈の曲)
・ Chance! (浅香唯の曲)
・ Chancha Vìa Circuito
・ Chandler (ソフトウェア)
・ Change (Every Little Thingの曲)
・ Change (F.CUZの曲)
・ Change (MONKEY MAJIKの曲)


Dictionary Lists
翻訳と辞書 辞書検索 [ 開発暫定版 ]
スポンサード リンク

Chain of Responsibility パターン : ウィキペディア日本語版
Chain of Responsibility パターン
Chain-of-responsibility パターン, CoR パターンは、オブジェクト指向設計におけるデザインパターンの一つであり、一つの コマンドオブジェクトと一連の 処理オブジェクトから構成される。各処理オブジェクトは、処理できるコマンドオブジェクトの種類と、自身が処理できないコマンドオブジェクトをチェーン内の次の処理オブジェクトに渡す方法を記述する情報を保持する。また、新たな処理オブジェクトをチェーンの最後に追加する機構を備える。
標準的な chain-of-responsibility のモデルの派生ハンドラーがディスパッチャとして動作し、コマンドを様々な方向に送出できるようにすることで、いわば ''tree of responsibility'' を形成しているものもある。
また、これを再帰的に行うケースもあり、処理オブジェクトが上位の処理オブジェクトを、問題の一部を解決するコマンドとともに呼び出すこともある。こうした場合再帰はコマンドが処理されるか、全てのツリーを巡回するまで継続される。XML のインタプリタ(パースはするが実行はしない)などがこの例に当てはまるだろう。
このパターンはプログラミングにおいてよく用いられる、疎結合性を促進させる方法である。
== 例 ==

=== Java ===

以下の Java コードは、ロギングクラスの例を用いてこのパターンを示したものである。各ロギングハンドラーはログレベルで何らかのアクションを起こすべきかどうかを判断し、次のロギングハンドラーにメッセージを渡す。
出力:
Writing to debug output: Entering function y.
Writing to debug output: Step1 completed.
Sending via e-mail: Step1 completed.
Writing to debug output: An error has occurred.
Sending via e-mail: An error has occurred.
Writing to stderr: An error has occurred.
この例はロギングクラスをこの方法で書くことを推奨するものではなく、また、CoR の '純粋'な実装では、ロガーがメッセージを処理した後に、その責任を後段に渡すことはない。この例では処理されるかどうかに関係なく、メッセージがチェーンの先に渡される。

import java.util.
*;
abstract class Logger
class StdoutLogger extends Logger

class EmailLogger extends Logger
class StderrLogger extends Logger
public class ChainOfResponsibilityExample


抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)
ウィキペディアで「Chain of Responsibility パターン」の詳細全文を読む



スポンサード リンク
翻訳と辞書 : 翻訳のためのインターネットリソース

Copyright(C) kotoba.ne.jp 1997-2016. All Rights Reserved.